## API Report File for "@backstage/plugin-gcp-projects"

> Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).

```ts
/// <reference types="react" />

import { ApiRef } from '@backstage/core-plugin-api';
import { BackstagePlugin } from '@backstage/core-plugin-api';
import { JSX as JSX_2 } from 'react';
import { OAuthApi } from '@backstage/core-plugin-api';
import { RouteRef } from '@backstage/core-plugin-api';

// @public (undocumented)
export type GcpApi = {
  listProjects(): Promise<Project[]>;
  getProject(projectId: string): Promise<Project>;
  createProject(options: {
    projectId: string;
    projectName: string;
  }): Promise<Operation>;
};

// @public (undocumented)
export const gcpApiRef: ApiRef<GcpApi>;

// @public (undocumented)
export class GcpClient implements GcpApi {
  constructor(googleAuthApi: OAuthApi);
  // (undocumented)
  createProject(options: {
    projectId: string;
    projectName: string;
  }): Promise<Operation>;
  // (undocumented)
  getProject(projectId: string): Promise<Project>;
  // (undocumented)
  getToken(): Promise<string>;
  // (undocumented)
  listProjects(): Promise<Project[]>;
}

// @public (undocumented)
export const GcpProjectsPage: () => JSX_2.Element;

// @public (undocumented)
const gcpProjectsPlugin: BackstagePlugin<
  {
    root: RouteRef<undefined>;
  },
  {}
>;
export { gcpProjectsPlugin };
export { gcpProjectsPlugin as plugin };

// @public (undocumented)
export type Operation = {
  name: string;
  metadata: string;
  done: boolean;
  error: Status;
  response: string;
};

// @public (undocumented)
export type Project = {
  name: string;
  projectNumber?: string;
  projectId: string;
  lifecycleState?: string;
  createTime?: string;
};

// @public (undocumented)
export type ProjectDetails = {
  details: string;
};

// @public (undocumented)
export type Status = {
  code: number;
  message: string;
  details: string[];
};
```
